package com.th.supcom.pds.internal.api.phamapply;

import java.util.List;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.th.supcom.pds.domain.pojo.InpPhamApplyDetail;
import com.th.supcom.pds.domain.pojo.InpPhamApplyPatInfo;
import com.th.supcom.pds.domain.vo.PrescSearchDTOVO;
import com.th.supcom.pds.domain.vo.PtsPaiAdtLogVo;

/**
 * @author yzhang
 */
public interface NurseReturnService
{
    /** 日志记录器. */
    public static final Logger s_logger = LoggerFactory.getLogger (InPharmacyReturnService.class);

    /**
     * 通关护理单元,床号查询患者信息
     */
    public InpPhamApplyPatInfo getPatInfoByBedNo (String nurseUnit, String bedNo);

    /**
     * 查询该患者所有就诊记录
     * 
     * @param patientId
     * @param NursingUnit
     * @return
     */
    public List <InpPhamApplyPatInfo> findPatientInfoByPatient (Long patientId);

    /**
     * 通过患者住院流水号查询本次住院所有转科记录
     * 
     * @param paiVisitId
     * @return
     */
    public List <PtsPaiAdtLogVo> findPaiAdtLogVosById (Long paiVisitId);

    /**
     * 根据查询条件查询
     * 
     * @param prescSearchDTOVO 查询条件
     * @return
     */
    public List <InpPhamApplyDetail> findChargeItemByExample (PrescSearchDTOVO prescSearchDTOVO);

    /**
     * @param applyDetails 退药明细
     * @param operator 操作人
     * @param ptsPaiVisit 患者信息
     * @param generateFlag true:生成电子退药单 false: 生成退药处方
     */
    public List <String> generateDrugReturn (List <InpPhamApplyDetail> applyDetails, String nurseUnit, String operator,
                                             InpPhamApplyPatInfo inpPhamApplyPatInfo);

    /** 公司版权信息. */
    public static final String copyright = "Copyright 2014, XuNuo Corporation";

    /** 提交路径. */
    public static final String SCC_BRANCH = "$URL$";

    /** 提交日期. */
    public static final String SCC_LAST_MODIFICATION_DATE = "$Date$";

    /** 最终修改人员. */
    public static final String SCC_LAST_MODIFIER_NAME = "$Author$";

    /** 最终版本号. */
    public static final String SCC_REVISION = "$Revision$";
}
